/**
 * Copyright (c) Enalean, 2018. All Rights Reserved.
 *
 * This file is a part of Tuleap.
 *
 * Tuleap is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * Tuleap is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Tuleap. If not, see <http://www.gnu.org/licenses/>.
 */

// scss-lint:disable NestingDepth SelectorDepth SelectorFormat ImportantRule QualifyingElement
.select2-selection.item-labels-box-select2 > .select2-selection__rendered > .select2-selection__choice {
    color: $tlp-theme-color;

    @each $color-name, $colors in $tlp-swatch-color-map {
        &.select-item-label-color-#{$color-name} {
            border-color: map-get($colors, 'primary');
            background: map-get($colors, 'primary');
            color: $tlp-ui-white;

            > .select2-selection__choice__remove {
                &::before {
                    color: $tlp-ui-white;
                }
            }

            &.select-item-label-outline {
                background: transparent;
                color: map-get($colors, 'primary');

                > .select2-selection__choice__remove {
                    &::before {
                        color: map-get($colors, 'primary');
                    }
                }
            }
        }
    }
}

.labels-box-select-hidden {
    display: none;
}

.item-labels-box-select2-results > .select2-results > .select2-results__options > .select2-results__option {
    @each $color-name, $colors in $tlp-swatch-color-map {
        &.select-item-label-color-#{$color-name} {
            color: map-get($colors, 'primary');
        }
    }

    &.select2-results__option--highlighted {
        background: $tlp-theme-color;

        @each $color-name, $colors in $tlp-swatch-color-map {
            &.select-item-label-color-#{$color-name} {
                background: map-get($colors, 'primary');
                color: $tlp-ui-white;
            }
        }
    }
}

.select-item-label-bullet {
    margin: 0 5px 0 0;
}

.select2 {
    &.select2-container--disabled > .selection > .item-labels-box-select2 {
        min-height: 32px;
        padding: 0;
        border: 0;
        background: none;

        > .select2-selection__rendered {
            > .select2-selection__choice {
                margin: 0 5px 5px 0;
            }

            > .select2-search > .select2-search__field {
                display: none;
            }
        }
    }

    &:not(.select2-container--disabled) {
        &.select2-container--focus > .selection > .item-labels-box-select2 > .select2-selection__rendered > .select2-search > .select2-search__field {
            width: 200px !important;
        }

        &:not(.select2-container--focus) > .selection > .item-labels-box-select2 {
            border-color: transparent;
            background: none;

            > .select2-selection__rendered > .select2-search {
                &::after {
                    content: '\f067'; // fa-plus
                    position: relative;
                    top: 2px;
                    color: #888888;
                    font-family: 'FontAwesome';
                }

                &:not(:only-child) > .select2-search__field {
                    display: none;
                    pointer-events: none;
                }

                &:only-child {
                    &::after {
                        content: '\f02c'; // fa-tags
                        right: 5px;
                        left: auto;
                        font-family: 'FontAwesome';
                    }

                    > .select2-search__field {
                        width: 200px !important;
                        padding: 0 10px 0 0;
                        text-align: right;
                        cursor: pointer;
                    }
                }
            }
        }
    }
}

span.select2 {
    > .selection > .item-labels-box-select2 > .select2-selection__rendered > .select2-selection__choice > .select2-selection__choice__remove {
        &::before {
            content: '\f02b'; // fa-tag
            font-family: 'FontAwesome';
        }

        &:hover::before {
            color: inherit;
        }
    }

    &:not(.select2-container--disabled) > .selection > .item-labels-box-select2 > .select2-selection__rendered > .select2-selection__choice {
        &:hover > .select2-selection__choice__remove::before {
            content: '\f057'; // fa-times-circle
            font-family: 'FontAwesome';
        }
    }
}
